Creation and Edition of an Action Graph

The Action Graph is a structure that defines in which order the operator has to execute a sequence of actions to consider that a task has been completed. By definition an Action Graph is a Directed Graph, in which each node (an Action Nodes from now on) is a possible action that can be executed in the order specified by the directed edges. Each node is defined by an Action's Category and an Action's Name. In addition, a list of Constraints can be specified.

The most common action categories are: TTS and ASR, these are used by VoixTreme to identify which actions involved the PDA and which ones the Operator.

The Action's Name is an identifier of the action that is assigned by the developer of the application to give the action a more detailed context.

The Constraints is a list of rules applied to the resulting value of an action in order to validate if the action belongs to the sequence defined by the graph.

The representation of an Action Graph

Each Action Node is shown using the following format: [id] Category Name. The Category and Name of an Action Node were previously explained. The id of an Action Node is a unique number that identifies each node. The following image shows a basic example of action graph designed for a Picking task:

The task is composed by the following actions: The PDA tells the Operator the Location he has to go. The Operator validates the Location. The PDA tells the Operator the item he has to retrieve, the Operator validates the Item. And finally: the PDA tells the Operator the number of items he has to pick up, the Operator validates the number of items.

Action Nodes are linked in the following way:

After the action of the Parent Node is executed, any of the actions specified by its child nodes can be executed. This is how a sequence of actions is represented for an Action Graph.

Special Nodes

Two of the Action Nodes have a different background: one is the Last Node (blue background) which is used to specify which is the last action of the task, the other is a reference to another node (green background). A node reference allows the creation of cycles in a graph to represent sequences of actions that can be repeated. In the example a cycle was added to allow the user to repeat the hole Picking task: after the quantity is validated, the PDA may ask the Operator to go to another Location.

Creating the Action Graph

The structure of an Action Graph can be modified by performing the following actions:

Adding the first Node

The first Node defines the first action executed by an Operator on a Task. The First Node can be simply added by selecting the Category, Name and clicking the Add Node button on empty graph.

Setting the Last Node

The Last Node defines the last action of the task. To define the last node of a graph, select a node and click the Set Last Node button. Remark: Any node which is not the last node must have a connection with another node.

Adding a New Node

Adding a child Node to a previously created one, defines one of the possible actions that an operator can perform. To add a new node, select its parent, the action's category and name of the Node, then select the parent Nodeand click the Add Node button. New Action Categories and Names can be entered by just typing them in the corresponding combo boxes.

Modifying a Node

The Action's Category and Name of any Node can be modified. To modify an Action Node, select it, change its Category and/or Name and click the Save Changes button.

Adding a reference to a Node

Some actions or sequences of actions must be repeated within a task. Node references must be used to represent the repetition of actions. To add a reference to a Node, select the target Node from the "Node Reference" combo box and then click Add Node button. Note that node references have a different background color, when a node reference is selected the node which is referenced is highlighted.

Deleting a Node

Select the target node and click on the Delete Node button. Each of the child nodes will be also deleted.

Adding constraints to a Node

Select the target node and click on the Constraints button. A new window will opened where constraints can be added or removed. To add a new constraint, select the constraint type from the combo box and enter a value that will be used for comparison then click on the Add Constraint button.

Remark: Almost all constraints use the "Value to Compare" in the same way, they take the action's value and performs a comparison using a particular operator. For a constraint which type is RegExp, the value to compare must be a valid regular expression.

Saving a Action Graph

To save an Action Graph, enter a Name and click on the Save Graph button.